package com.sunyard.manage.service;

import com.sunyard.dal.bo.PaginationBO;
import com.sunyard.dal.bo.role.RoleAuditBO;
import com.sunyard.dal.bo.role.RoleAuditChangeQueryBO;
import com.sunyard.dal.bo.role.RoleAuditQueryBO;
import com.sunyard.dal.dto.RoleCopyDTO;
import com.sunyard.utils.Response.BaseResult;
import com.sunyard.utils.Response.GetResult;
import com.sunyard.utils.manage.DataGrid;
import org.springframework.web.bind.annotation.RequestBody;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;

public interface RoleAuditService {

    DataGrid<RoleCopyDTO> queryRoleListAuditByPage(HttpServletRequest request, PaginationBO<RoleAuditQueryBO> roleAuditQueryBO) throws Exception;

    void roleAuditExport(HttpServletResponse response, @RequestBody RoleAuditQueryBO roleAuditQueryBO, HttpServletRequest request);

    BaseResult<GetResult> roleAudit(HttpServletRequest request, RoleAuditBO roleAuditBO) throws Exception;

    Map<Object, Object> queryRoleRecordChange(RoleAuditChangeQueryBO changeQueryBO);

    Map<String, List<String>> queryRolePopedomChange(RoleAuditChangeQueryBO changeQueryBO);

    BaseResult<GetResult> batchRoleAudit(HttpServletRequest request, RoleAuditBO roleAuditBO) throws Exception;
}
